package com.hxf.service.food;

import java.util.List; 

import com.hxf.dto.MealMenuDto;
import com.hxf.dto.MealMenuTypeDto;
import com.hxf.dto.RestaurantDto;
import com.hxf.dto.ReturnData; 
import com.hxf.exception.ServiceException;
import com.hxf.service.base.BaseService;
import com.hxf.web.vo.MealMenuVo;

public interface MealMenuService extends BaseService {
	/**
	 * 查询餐厅菜单 分页
	 * @param mealMenuDto
	 * @return ReturnData<MealMenuDto>
	 * @throws DaoLevelException
	 */
	public ReturnData<MealMenuDto> findByMealMenu(MealMenuDto mealMenuDto, int targetPage, int pageSize) throws ServiceException;

	/**
	 * 查询餐厅菜单
	 * @param mealMenuDto
	 * @return ReturnData<MealMenuDto>
	 * @throws DaoLevelException
	 */
	public List<MealMenuDto> findByMealMenu(MealMenuDto mealMenuDto) throws ServiceException;
	
	/**
	 * 查询餐厅菜单类型
	 * @return List<MealMenuTypeDto>
	 * @throws DaoLevelException
	 */
	public List<MealMenuTypeDto> findByMealMenuType(MealMenuTypeDto mealMenuTypeDto) throws ServiceException;

	/**
	 * 更新售完信息
	 * @param ids
	 * @param isSell
	 * @throws ServiceException
	 */
	public void updateMealMenu(String ids, boolean isSell) throws ServiceException;
	
	/**
	 * 更新状态
	 * @param ids
	 * @param status
	 * @return
	 * @throws ServiceException
	 */
	public int updateMealMenuStatus(String ids, Integer status)throws ServiceException;
	
	/**
	 * 根据地址和餐厅名称搜索菜肴
	 * @param restaurantDto
	 * @param mealMenuDto
	 * @param targetPage
	 * @param pageSize
	 * @return
	 * @throws ServiceException
	 */
	public ReturnData<MealMenuVo> findMealMenuByRestaurant(RestaurantDto restaurantDto, MealMenuDto mealMenuDto, int targetPage, int pageSize)throws ServiceException;

	/**
	 * 根据多个菜肴ID查询
	 * @param mealMenuIds
	 * @return
	 * @throws DaoLevelException
	 */
	public List<MealMenuDto> findByMealMenuByIds(String mealMenuIds) throws ServiceException;
}
